﻿// 文件路径: Models/NavRoomModel.cs
using Autodesk.Revit.DB;

namespace RevitProject.SpaceManager.Models
{
    /// <summary>
    /// 表示楼层基本信息的数据模型。
    /// </summary>
    public class LevelInfoModel
    {
        public ElementId Id { get; set; }
        public string Name { get; set; }
        public double Elevation { get; set; } // Revit 内部单位
    }

    /// <summary>
    /// 表示从 Revit Room 提取的原始数据的数据模型。
    /// </summary>
    public class RoomDataModel
    {
        public ElementId Id { get; set; }
        public string Name { get; set; }
        public string Number { get; set; }
        public double AreaInternal { get; set; } // Revit 内部单位
        public ElementId LevelId { get; set; }
        public string LevelName { get; set; }
        public double LevelElevationInternal { get; set; } // Revit 内部单位
        public string ZoneName { get; set; } // 需要确认参数名
        public string CategoryName { get; set; } // "空间类别" 参数值
        public string Department { get; set; } // "部门" 参数值
        public string Occupancy { get; set; } // "占用" 参数值
        public string Comments { get; set; } // "注释" 参数值
        // 添加其他需要的原始参数值...
    }

    /// <summary>
    /// 表示 DataGrid 列信息的数据模型，用于列选择对话框。
    /// </summary>
    public class ColumnInfoModel
    {
        public string Header { get; set; }
        public string PropertyName { get; set; } // RoomItemViewModel 中的属性名
        public bool IsVisible { get; set; }
    }

    /// <summary>
    /// 表示一个可供选择的房间类别信息 (用于右键菜单)。
    /// </summary>
    public class CategoryInfoModel
    {
        public string Name { get; set; }
        // 可选： public string Path { get; set; }
    }
}